package com.zzyy.study;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * 两个案例：
 *
 * 在 Spring Boot 中实现一个自定义注解，可以通过 AOP（面向切面编程）或拦截器（Interceptor）来实现。
 *
 * 1 实现自定义注解
 *  1.1 添加 Spring AOP 依赖POM修改。（            <artifactId>spring-boot-starter-aop</artifactId>)
 *  1.2 创建自定义注解。                @interface CustomLogAnnotation
 *  1.3 编写 AOP 拦截（自定义注解）的逻辑代码。CustomLogAspect
 *  1.4 使用自定义注解。 MyController
 *
 *
 *
 *
 * 2 使用拦截器 + Redis的方式实现自定义幂等性注解
 *  2.1 创建自定义幂等性注解。             @interface IdempotentAnnotation
 *  2.2 创建拦截器，实现幂等性逻辑判断。    IdempotentInterceptor
 *  2.3 配置拦截规则。                     class WebConfig implements WebMvcConfigurer
 *  2.4 使用自定义幂等性注解。             看某个方法头上是否配置了@IdempotentAnnotation
 */
@SpringBootApplication
@MapperScan("com.zzyy.study.mapper") //import org.mybatis.spring.annotation.MapperScan;
public class Idempotent0923Application
{

    public static void main(String[] args)
    {
        SpringApplication.run(Idempotent0923Application.class, args);
    }

}
